// 接口有一种非常常见的使用方法：使用类去实现接口
// 类实现接口之后，需要把接口中定义的所有方法，进行实现。

// 类使用implments实现接口，一个类可以实现多个接口？ class C implements I1,I2，
// 实现接口之后，需要把所有接口里面的所有方法全部实现

interface ILoan {
    // 联合类型：
    interest:string | string[] | (() => string | string[]);
}

class Student implements ILoan {

    private _interest:string | string[];

    private name:string;

    constructor(name:string,interest: string | string[]) {
        this.name = name;
        this._interest = interest;
    }

    interest():string | string[] {
        return this._interest;
    }

    disp() {
        console.log(`我是${this.name}，我喜欢：${this.interest()}`);
    }
}

let wml = new Student("韦茂林",["足球","电脑游戏"]);
wml.disp();

let wyd = new Student("韦永灯","写代码");
wyd.disp();